######################
#### BIBLIOTECAS #####
######################

library(dplyr)
library(ggplot2)
library(readxl)
library(xlsx)
library(FactoMineR)
library(factoextra)
library(ClustOfVar)
library(cluster)
library(tidyr)
library(purrr)
library(scales)
library(textshape)
library(extrafont)
######################
#### CARREGAMENTO ####
######################

Deps_Analisados <- read_excel("~/Dados Camara/Listagem_Deputados.xlsx")
Partido_Real <- read_excel("~/Dados Camara/Partidos_Sigla_Orientacao.xlsx")

Proposicoes_2019 <- read.csv("~/Dados Camara/proposicoes-2019.csv", encoding="UTF-8", sep=";", comment.char="#")
Proposicoes_2020 <- read.csv("~/Dados Camara/proposicoes-2020.csv", encoding="UTF-8", sep=";", comment.char="#")
Proposicoes_2021 <- read.csv("~/Dados Camara/proposicoes-2021.csv", encoding="UTF-8", sep=";", comment.char="#")
Proposicoes_2021 <- Proposicoes_2021[,c(1:29,31)]
##Proposicoes_2022 <- read.csv("~/Dados Camara/proposicoes-2022.csv", encoding="UTF-8", sep=";", comment.char="#")
##Proposicoes_2022 <- Proposicoes_2022[,c(1:29,31)]
Proposicoes_Total <- rbind(Proposicoes_2019, Proposicoes_2020,Proposicoes_2021)

Orientacoes_2019 <- read.csv("~/Dados Camara/votacoesOrientacoes-2019.csv", encoding="UTF-8", sep=";", comment.char="#")
Orientacoes_2020 <- read.csv("~/Dados Camara/votacoesOrientacoes-2020.csv", encoding="UTF-8", sep=";", comment.char="#")
Orientacoes_2021 <- read.csv("~/Dados Camara/votacoesOrientacoes-2021.csv", encoding="UTF-8", sep=";", comment.char="#")
Orientacoes_2022 <- read.csv("~/Dados Camara/votacoesOrientacoes-2022.csv", encoding="UTF-8", sep=";", comment.char="#")
Orientacoes_Total <- rbind(Orientacoes_2019, Orientacoes_2020, Orientacoes_2021)

Votacoes_2019 <- read.csv("~/Dados Camara/votacoesVotos-2019.csv", encoding="UTF-8", sep=";", comment.char="#")
Votacoes_2020 <- read.csv("~/Dados Camara/votacoesVotos-2020.csv", encoding="UTF-8", sep=";", comment.char="#")
Votacoes_2021 <- read.csv("~/Dados Camara/votacoesVotos-2021.csv", encoding="UTF-8", sep=";", comment.char="#")
Votacoes_2022 <- read.csv("~/Dados Camara/votacoesVotos-2022.csv", encoding="UTF-8", sep=";", comment.char="#")
Votacoes_Total <- rbind(Votacoes_2019, Votacoes_2020, Votacoes_2021)

Deputados <- read.csv("~/Dados Camara/deputados.csv", encoding="UTF-8", sep=";", comment.char="#")
Deputados <- subset(Deputados, Deputados$idLegislaturaFinal == 56)

rm(Proposicoes_2019, Proposicoes_2020, Proposicoes_2021, Proposicoes_2022, 
   Orientacoes_2019, Orientacoes_2020, Orientacoes_2021, Orientacoes_2022,
   Votacoes_2019, Votacoes_2020, Votacoes_2021, Votacoes_2022)

Deputados <- left_join(Deputados, Deps_Analisados, by=c("nomeCivil"="NM_CANDIDATO"))
Deputados$MOVIMENTO <- ifelse(is.na(Deputados$MOVIMENTO), "Estabilishment", Deputados$MOVIMENTO)


######################
##### TRATAMENTO #####
######################

Orientacoes_Total <- left_join(Orientacoes_Total, Partido_Real, by=c("siglaBancada"="Sigla"))

Orientacoes_Total$Num <- substr(Orientacoes_Total$X.U.FEFF.idVotacao, 1,7)
Votacoes_Total$Num <- substr(Votacoes_Total$X.U.FEFF.idVotacao, 1,7)
Proposicoes_Total$Num <- substr(Proposicoes_Total$X.U.FEFF.id, 1,7)

Analisados_Orientacoes <- Orientacoes_Total
Analisados_Orientacoes <- Analisados_Orientacoes[,c(1,8,7,9)]

#Votacoes_Total$deputado_siglaPartido <- ifelse(Votacoes_Total$deputado_siglaPartido == "PPL",
#                                               "PCdoB",Votacoes_Total$deputado_siglaPartido)

#Votacoes_Total$deputado_siglaPartido <- ifelse(Votacoes_Total$deputado_siglaPartido == "PHS",
#                                               "PODE",Votacoes_Total$deputado_siglaPartido)

#Votacoes_Total$deputado_siglaPartido <- ifelse(Votacoes_Total$deputado_siglaPartido == "PRP",
#                                               "PATRIOTA",Votacoes_Total$deputado_siglaPartido)

Votacoes_Total$deputado_siglaPartido <- ifelse(Votacoes_Total$deputado_siglaPartido == "PPS",
                                               "CIDADANIA",Votacoes_Total$deputado_siglaPartido)

Votacoes_Total$deputado_siglaPartido <- ifelse(Votacoes_Total$deputado_siglaPartido == "PRB",
                                               "REPUBLICANOS",Votacoes_Total$deputado_siglaPartido)

Votacoes_Total$deputado_siglaPartido <- ifelse(Votacoes_Total$deputado_siglaPartido == "PATRI",
                                               "PATRIOTA",Votacoes_Total$deputado_siglaPartido)

Votacoes_Total$deputado_siglaPartido <- ifelse(Votacoes_Total$deputado_siglaPartido == "PL",
                                               "PL",Votacoes_Total$deputado_siglaPartido)

windowsFonts(Times=windowsFont("Times New Roman"))

######################
#### PROP VOTA��ES ###
######################

Proporcao_Votacoes <- Votacoes_Total
Proporcao_Votacoes$Contagem <- 1

Proporcao_Votacoes <- Proporcao_Votacoes %>%
  group_by(X.U.FEFF.idVotacao, voto) %>%
  summarise(Contagem = sum(Contagem))

Prop_Sim <- subset(Proporcao_Votacoes, Proporcao_Votacoes$voto == "Sim")
colnames(Prop_Sim) <- c("ID_Votacao","Tipo_Sim","Contagem_Sim")
Prop_Nao <- subset(Proporcao_Votacoes, Proporcao_Votacoes$voto == "N�o")
colnames(Prop_Nao) <- c("ID_Votacao","Tipo_Nao","Contagem_Nao")
Prop_Abs <- subset(Proporcao_Votacoes, Proporcao_Votacoes$voto == "Absten��o")
colnames(Prop_Abs) <- c("ID_Votacao","Tipo_Abs","Contagem_Abs")
Prop_Obs <- subset(Proporcao_Votacoes, Proporcao_Votacoes$voto == "Obstru��o")
colnames(Prop_Obs) <- c("ID_Votacao","Tipo_Obs","Contagem_Obs")
Prop_Art <- subset(Proporcao_Votacoes, Proporcao_Votacoes$voto == "Artigo 17")
colnames(Prop_Art) <- c("ID_Votacao","Tipo_Art","Contagem_Art")


Proporcao_Votacoes <- Proporcao_Votacoes %>%
  group_by(X.U.FEFF.idVotacao) %>%
  summarise(Contagem = sum(Contagem))

Proporcao_Votacoes <- left_join(Proporcao_Votacoes,Prop_Sim,
                                by=c("X.U.FEFF.idVotacao"="ID_Votacao"))
Proporcao_Votacoes <- left_join(Proporcao_Votacoes,Prop_Nao,
                                by=c("X.U.FEFF.idVotacao"="ID_Votacao"))
Proporcao_Votacoes <- left_join(Proporcao_Votacoes,Prop_Abs,
                                by=c("X.U.FEFF.idVotacao"="ID_Votacao"))
Proporcao_Votacoes <- left_join(Proporcao_Votacoes,Prop_Obs,
                                by=c("X.U.FEFF.idVotacao"="ID_Votacao"))
Proporcao_Votacoes <- left_join(Proporcao_Votacoes,Prop_Art,
                                by=c("X.U.FEFF.idVotacao"="ID_Votacao"))

rm(Prop_Sim, Prop_Nao, Prop_Abs, Prop_Obs, Prop_Art)

Proporcao_Votacoes <- Proporcao_Votacoes[,c(1,2,4,6,8,10,12)]

Proporcao_Votacoes$Contagem_Sim <- ifelse(is.na(Proporcao_Votacoes$Contagem_Sim),
                                          0, Proporcao_Votacoes$Contagem_Sim)
Proporcao_Votacoes$Contagem_Nao <- ifelse(is.na(Proporcao_Votacoes$Contagem_Nao),
                                          0, Proporcao_Votacoes$Contagem_Nao)
Proporcao_Votacoes$Contagem_Abs <- ifelse(is.na(Proporcao_Votacoes$Contagem_Abs),
                                          0, Proporcao_Votacoes$Contagem_Abs)
Proporcao_Votacoes$Contagem_Obs <- ifelse(is.na(Proporcao_Votacoes$Contagem_Obs),
                                          0, Proporcao_Votacoes$Contagem_Obs)
Proporcao_Votacoes$Contagem_Art <- ifelse(is.na(Proporcao_Votacoes$Contagem_Art),
                                          0, Proporcao_Votacoes$Contagem_Art)

Proporcao_Votacoes$Prop_Sim <- (Proporcao_Votacoes$Contagem_Sim / 
                                  Proporcao_Votacoes$Contagem) * 100
Proporcao_Votacoes$Prop_Nao <- (Proporcao_Votacoes$Contagem_Nao / 
                                  Proporcao_Votacoes$Contagem) * 100
Proporcao_Votacoes$Prop_Abs <- (Proporcao_Votacoes$Contagem_Abs / 
                                  Proporcao_Votacoes$Contagem) * 100
Proporcao_Votacoes$Prop_Obs <- (Proporcao_Votacoes$Contagem_Obs / 
                                  Proporcao_Votacoes$Contagem) * 100
Proporcao_Votacoes$Prop_Art <- (Proporcao_Votacoes$Contagem_Art / 
                                  Proporcao_Votacoes$Contagem) * 100

Proporcao_Votacoes$Consenso <- ifelse(Proporcao_Votacoes$Prop_Sim > 90, "Sim",
                              (ifelse(Proporcao_Votacoes$Prop_Nao > 90, "Sim",
                              (ifelse(Proporcao_Votacoes$Prop_Abs > 90, "Sim",
                              (ifelse(Proporcao_Votacoes$Prop_Obs > 90, "Sim",
                              (ifelse(Proporcao_Votacoes$Prop_Art > 90, "Sim","Nao")))))))))

Proporcao_Votacoes_Descritiva <- Proporcao_Votacoes
Proporcao_Votacoes_Descritiva$Contagem <- 1  
  
Proporcao_Votacoes_Descritiva <- Proporcao_Votacoes_Descritiva %>%
  group_by(Consenso) %>%
  summarise(Contagem = sum(Contagem))


Proporcao_Votacoes <- Proporcao_Votacoes[,c(1,13)]

#######################
#### �NDICE DE RICE ###
#######################

Proporcao_Rice <- Votacoes_Total
Proporcao_Rice$Contagem <- 1

Proporcao_Rice <- Proporcao_Rice %>%
  group_by(X.U.FEFF.idVotacao, deputado_siglaPartido, voto) %>%
  summarise(Contagem = sum(Contagem))

Prop_Sim_Rice <- subset(Proporcao_Rice, Proporcao_Rice$voto == "Sim")
colnames(Prop_Sim_Rice) <- c("ID_Votacao","Partido","Tipo_Sim","Contagem_Sim")
Prop_Nao_Rice <- subset(Proporcao_Rice, Proporcao_Rice$voto == "N�o")
colnames(Prop_Nao_Rice) <- c("ID_Votacao","Partido","Tipo_Nao","Contagem_Nao")
Prop_Abs_Rice <- subset(Proporcao_Rice, Proporcao_Rice$voto == "Absten��o")
colnames(Prop_Abs_Rice) <- c("ID_Votacao","Partido","Tipo_Abs","Contagem_Abs")
Prop_Obs_Rice <- subset(Proporcao_Rice, Proporcao_Rice$voto == "Obstru��o")
colnames(Prop_Obs_Rice) <- c("ID_Votacao","Partido","Tipo_Obs","Contagem_Obs")
Prop_Art_Rice <- subset(Proporcao_Rice, Proporcao_Rice$voto == "Artigo 17")
colnames(Prop_Art_Rice) <- c("ID_Votacao","Partido","Tipo_Art","Contagem_Art")

Proporcao_Rice <- Proporcao_Rice %>%
  group_by(X.U.FEFF.idVotacao, deputado_siglaPartido) %>%
  summarise(Contagem = sum(Contagem))

Proporcao_Rice <- left_join(Proporcao_Rice,Prop_Sim_Rice,
                            by=c("X.U.FEFF.idVotacao"="ID_Votacao",
                                 "deputado_siglaPartido"="Partido"))
Proporcao_Rice <- left_join(Proporcao_Rice,Prop_Nao_Rice,
                            by=c("X.U.FEFF.idVotacao"="ID_Votacao",
                                 "deputado_siglaPartido"="Partido"))
Proporcao_Rice <- left_join(Proporcao_Rice,Prop_Abs_Rice,
                            by=c("X.U.FEFF.idVotacao"="ID_Votacao",
                                 "deputado_siglaPartido"="Partido"))
Proporcao_Rice <- left_join(Proporcao_Rice,Prop_Obs_Rice,
                            by=c("X.U.FEFF.idVotacao"="ID_Votacao",
                                 "deputado_siglaPartido"="Partido"))
Proporcao_Rice <- left_join(Proporcao_Rice,Prop_Art_Rice,
                            by=c("X.U.FEFF.idVotacao"="ID_Votacao",
                                 "deputado_siglaPartido"="Partido"))

rm(Prop_Sim_Rice, Prop_Nao_Rice, Prop_Abs_Rice, Prop_Obs_Rice, Prop_Art_Rice)

Proporcao_Rice <- Proporcao_Rice[,c(1,2,3,5,7,9,11,13)]

Proporcao_Rice$Contagem_Sim <- ifelse(is.na(Proporcao_Rice$Contagem_Sim),
                                      0, Proporcao_Rice$Contagem_Sim)
Proporcao_Rice$Contagem_Nao <- ifelse(is.na(Proporcao_Rice$Contagem_Nao),
                                      0, Proporcao_Rice$Contagem_Nao)
Proporcao_Rice$Contagem_Abs <- ifelse(is.na(Proporcao_Rice$Contagem_Abs),
                                      0, Proporcao_Rice$Contagem_Abs)
Proporcao_Rice$Contagem_Obs <- ifelse(is.na(Proporcao_Rice$Contagem_Obs),
                                      0, Proporcao_Rice$Contagem_Obs)
Proporcao_Rice$Contagem_Art <- ifelse(is.na(Proporcao_Rice$Contagem_Art),
                                      0, Proporcao_Rice$Contagem_Art)

############################
########### IDP ############
############################

Base_IDP <- Proporcao_Rice

Base_IDP <- left_join(Base_IDP,Analisados_Orientacoes,
                      by=c("X.U.FEFF.idVotacao"="X.U.FEFF.idVotacao",
                           "deputado_siglaPartido"="Partido_Real"))

Base_IDP <- subset(Base_IDP, Base_IDP$orientacao != "Liberado")

Base_IDP$IDP <- ifelse(Base_IDP$orientacao == "Sim", (Base_IDP$Contagem_Sim / Base_IDP$Contagem) * 100,
                ifelse(Base_IDP$orientacao == "N�o", (Base_IDP$Contagem_Nao / Base_IDP$Contagem) * 100,
                ifelse(Base_IDP$orientacao == "Obstru��o", (Base_IDP$Contagem_Obs / Base_IDP$Contagem) * 100,
                ifelse(Base_IDP$orientacao == "Absten��o", (Base_IDP$Contagem_Abs / Base_IDP$Contagem) * 100,
                ifelse(Base_IDP$orientacao == "Artigo 17", (Base_IDP$Contagem_Art / Base_IDP$Contagem) * 100,500)))))

Base_IDP <- subset(Base_IDP, Base_IDP$IDP != 500)

Base_IDP  <- left_join(Base_IDP,Proporcao_Votacoes,
                       by=c("X.U.FEFF.idVotacao"="X.U.FEFF.idVotacao"))

Base_IDP <- subset(Base_IDP, Base_IDP$Consenso == "Nao")

IDP_Media <- Base_IDP %>%
  group_by(deputado_siglaPartido) %>%
  summarise(Media_IDP = mean(IDP))


Graf_IDP <- ggplot(IDP_Media, aes(x = reorder(deputado_siglaPartido, -Media_IDP), y = Media_IDP)) +
  geom_bar(stat = "identity", fill="steelblue") +
  geom_text(aes(label = round(Media_IDP,2)), position = position_dodge(0.9),size = 5, family = "Times", angle = 90) +
  labs(x="Partidos", y="�ndice de Disciplina Partid�ria") +
  theme(axis.text.x = element_text(color = "black", size = 14, angle = 90, hjust = 1, vjust = .5, face = "plain", family="Times"),
        axis.text.y = element_text(color = "black", size = 14, angle = 0, hjust = 1, vjust = 0, face = "plain", family="Times"),  
        axis.title.x = element_text(color = "black", size = 14, angle = 0, hjust = .5, vjust = 0, face = "plain", family="Times"),
        axis.title.y = element_text(color = "black", size = 14, angle = 90, hjust = .5, vjust = .5, face = "plain", family="Times"),
        legend.text = element_text(color = "black", size = 11, angle = 0, hjust = 0, vjust = .5, face = "plain", family="Times"),
        legend.title = element_text(color = "black", size = 14, angle = 0, hjust = 0, vjust = .5, face = "plain", family="Times"))

Graf_IDP


write.xlsx(IDP_Media, file = "Indice_IDP.xlsx", 
           sheetName = "IDP_Media", append = FALSE)

############################
####### CONCORDANCIA #######
############################

Analisados_Votacoes <- Votacoes_Total

Analisados_Votacoes <- left_join(Analisados_Votacoes,Proporcao_Votacoes,
                       by=c("X.U.FEFF.idVotacao"="X.U.FEFF.idVotacao"))
  
Analisados_Votacoes <- subset(Analisados_Votacoes, Analisados_Votacoes$Consenso == "Nao")
  
Analisados_Votacoes <- left_join(Analisados_Votacoes,Analisados_Orientacoes,
                                 by=c("X.U.FEFF.idVotacao"="X.U.FEFF.idVotacao",
                                      "deputado_siglaPartido"="Partido_Real"))

Analisados_Votacoes$Parecer <- ifelse(Analisados_Votacoes$voto == Analisados_Votacoes$orientacao,
                                      "Igual", "Diferente")
Analisados_Votacoes$Contagem <- 1

Analisados_Proximidades_Base <- Analisados_Votacoes

Analisados_Votacoes <- subset(Analisados_Votacoes, Analisados_Votacoes$orientacao != "Liberado")



Analisados_Votacoes <- left_join(Analisados_Votacoes, Deputados, by=c("deputado_nome"="nome"))
Analisados_Votacoes$MOVIMENTO <- ifelse(is.na(Analisados_Votacoes$MOVIMENTO), "Estabilishment", Analisados_Votacoes$MOVIMENTO)
Analisados_Votacoes$NOME_CAMARA <- ifelse(is.na(Analisados_Votacoes$NOME_CAMARA), Analisados_Votacoes$deputado_nome, Analisados_Votacoes$NOME_CAMARA)
Analisados_Votacoes$PARTIDO <- ifelse(is.na(Analisados_Votacoes$PARTIDO), Analisados_Votacoes$deputado_siglaPartido, Analisados_Votacoes$PARTIDO)

Analisados_Votacoes <- subset(Analisados_Votacoes, Analisados_Votacoes$MOVIMENTO != "Descartar")

Analisados_Votacoes <- Analisados_Votacoes %>%
  group_by(NOME_CAMARA, PARTIDO, MOVIMENTO, Parecer) %>%
  summarise(Contagem = sum(Contagem))

Analisados_Votacoes$Parecer <- ifelse(is.na(Analisados_Votacoes$Parecer),"Descartar",Analisados_Votacoes$Parecer)
Analisados_Votacoes <- subset(Analisados_Votacoes, Analisados_Votacoes$Parecer != "Descartar")

Tabela_Por_Parecer <- Analisados_Votacoes %>%
  group_by(Parecer) %>%
  summarise(Contagem = sum(Contagem))

Analisados_Votacoes_Total <- Analisados_Votacoes %>%
  group_by(NOME_CAMARA) %>%
  summarise(Contagem = sum(Contagem))

Analisados_Votacoes_Igual <- Analisados_Votacoes %>%
  group_by(NOME_CAMARA, MOVIMENTO, PARTIDO) %>%
  filter(Parecer == "Igual") %>%
  summarise(Contagem = sum(Contagem))

Analisados_Votacoes <- left_join(Analisados_Votacoes_Total,Analisados_Votacoes_Igual,
               by=c("NOME_CAMARA"="NOME_CAMARA"))

Analisados_Votacoes$Nome_Partido <- paste(Analisados_Votacoes$NOME_CAMARA, Analisados_Votacoes$PARTIDO, sep = " - ")


Analisados_Votacoes$Prop_Fidelidade <- ((Analisados_Votacoes$Contagem.y / Analisados_Votacoes$Contagem.x) * 100)

Analisados_Votacoes <- Analisados_Votacoes[,c(1,4,6,3,5,2,7)]
colnames(Analisados_Votacoes) <- c("Nome", "Partido", "Nome_Partido", "Grupos","Igual","Total","Fidelidade")

############################

Temp_Medias <- Analisados_Votacoes %>%
  group_by(Grupos) %>%
  summarise(Media = mean(Fidelidade))

Temp_Medias$Grupos <- ifelse(Temp_Medias$Grupos == "Renova/MBL", "i) Renovadores",
                          ifelse(Temp_Medias$Grupos == "Outsider", "ii) Outsiders",
                          ifelse(Temp_Medias$Grupos == "Estabilishment", "iii) Estabelecidos", "NA")))

Graf_Fidelidade <- ggplot(Temp_Medias, aes(x = Grupos, y = Media, fill = Grupos, label = round(Media, 2))) +
  geom_bar(stat = "identity") +
  geom_text(position = position_stack(vjust = 0.5), size = 5, family = "Times") +
  labs(x="Grupos", 
       y="�ndice de Lealdade Partid�ria", 
       colour = "Grupos analisados") +
  theme(axis.text.x = element_text(color = "black", size = 14, angle = 0, hjust = .5, vjust = .5, face = "plain", family="Times"),
        axis.text.y = element_text(color = "black", size = 14, angle = 0, hjust = 1, vjust = 0, face = "plain", family="Times"),  
        axis.title.x = element_text(color = "black", size = 18, angle = 0, hjust = .5, vjust = 0, face = "plain", family="Times"),
        axis.title.y = element_text(color = "black", size = 18, angle = 90, hjust = .5, vjust = .5, face = "plain", family="Times"),
        legend.text = element_text(color = "black", size = 11, angle = 0, hjust = 0, vjust = .5, face = "plain", family="Times"),
        legend.title = element_text(color = "black", size = 14, angle = 0, hjust = 0, vjust = .5, face = "plain", family="Times"))

Graf_Fidelidade

############################

#Base_Fidelidade <- subset(Analisados_Votacoes, Analisados_Votacoes$Grupos != "Estabilishment")
#Base_Fidelidade <- Analisados_Votacoes
#Base_Fidelidade$Grupos <- ifelse(Base_Fidelidade$Grupos == "Renova/MBL", "i) Movimento",
#                          ifelse(Base_Fidelidade$Grupos == "Outsider", "ii) Outsider",
#                          ifelse(Base_Fidelidade$Grupos == "Estabilishment", "iii) Estabilishiment", "NA")))

Graf_Fidelidade <- ggplot(Base_Fidelidade, aes(x = reorder(Nome_Partido, -Fidelidade), y = Fidelidade, fill = Grupos)) +
  geom_bar(stat = "identity") +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +
  labs(x="Parlamentares", 
       y="�ndice de Disciplina Partid�ria", 
       colour = "Grupos analisados")
Graf_Fidelidade

############################
####### ANOVA ONE WAY ######
############################

Modelo_Anova <- aov(Analisados_Votacoes$Fidelidade ~ Analisados_Votacoes$Grupos, data = Analisados_Votacoes)
summary(Modelo_Anova)
Modelo_Anova$coefficients

############################
######### TESTE - T ########
############################

Analisados_Votacoes_Movimento_Sim  <- subset(Analisados_Votacoes, Analisados_Votacoes$Grupos == "Renova/MBL")
Analisados_Votacoes_Movimento_Nao  <- subset(Analisados_Votacoes, Analisados_Votacoes$Grupos == "Outsider")

t.test(Analisados_Votacoes_Movimento_Sim$Fidelidade, Analisados_Votacoes_Movimento_Nao$Fidelidade, paired = FALSE)

Analisados_Votacoes_Movimento_Sim  <- subset(Analisados_Votacoes, Analisados_Votacoes$Grupos == "Estabilishment")
Analisados_Votacoes_Movimento_Nao  <- subset(Analisados_Votacoes, Analisados_Votacoes$Grupos == "Outsider")

t.test(Analisados_Votacoes_Movimento_Sim$Fidelidade, Analisados_Votacoes_Movimento_Nao$Fidelidade, paired = FALSE)

Analisados_Votacoes_Movimento_Sim  <- subset(Analisados_Votacoes, Analisados_Votacoes$Grupos == "Renova/MBL")
Analisados_Votacoes_Movimento_Nao  <- subset(Analisados_Votacoes, Analisados_Votacoes$Grupos == "Estabilishment")

t.test(Analisados_Votacoes_Movimento_Sim$Fidelidade, Analisados_Votacoes_Movimento_Nao$Fidelidade, paired = FALSE)

rm(Analisados_Votacoes_Igual, Analisados_Votacoes_Movimento_Nao, Analisados_Votacoes_Movimento_Sim, Temp_Medias,
   Analisados_Votacoes_Total,Partido_Real, Proporcao_Rice, Proposicoes_Total, Graf_Fidelidade, Tabela_Por_Parecer)


############################
######## PROXIMIDADE #######
############################


Analisados_Proximidades <- Analisados_Proximidades_Base %>%
  group_by(deputado_nome, X.U.FEFF.idVotacao, voto) %>%
  summarise(Contagem = sum(Contagem))

Analisados_Proximidades <- Analisados_Proximidades[,c(1:3)]

Analisados_Proximidades <- left_join(Analisados_Proximidades, Deps_Analisados, by=c("deputado_nome"="NOME_CAMARA"))

Analisados_Proximidades$MOVIMENTO <- ifelse(is.na(Analisados_Proximidades$MOVIMENTO),"Descartar",Analisados_Proximidades$MOVIMENTO)
#Analisados_Proximidades <- subset(Analisados_Proximidades, Analisados_Proximidades$MOVIMENTO != "Descartar")
Analisados_Proximidades <- subset(Analisados_Proximidades, Analisados_Proximidades$MOVIMENTO == "Renova/MBL")

Analisados_Proximidades$Contagem <- 1

Analisados_Proximidades <- Analisados_Proximidades %>%
  group_by(deputado_nome, X.U.FEFF.idVotacao, voto, MOVIMENTO) %>%
  summarise(Contagem = sum(Contagem))

Analisados_Proximidades <- spread(Analisados_Proximidades, X.U.FEFF.idVotacao, voto)


Analisados_Proximidades <- Analisados_Proximidades %>% 
  mutate_all(replace_na, "Ausente")


Analisados_Proximidades = data.frame(t(Analisados_Proximidades))
names(Analisados_Proximidades) <- Analisados_Proximidades[1,]
Analisados_Proximidades = Analisados_Proximidades[-c(1:3),]


#######################################################################

res.mca <- MCA(Analisados_Proximidades, ncp = 700)
Teste <- as.data.frame(res.mca$var$contrib)
sum(res.mca$var$cos2)

#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################
#######################################################################

Analisados_Proximidades <- Analisados_Proximidades[,c(1,4:ncol(Analisados_Proximidades))]

Analisados_Proximidades[Analisados_Proximidades=="Sim"] <- "1"
Analisados_Proximidades[Analisados_Proximidades=="N�o"] <- "2"
Analisados_Proximidades[Analisados_Proximidades=="Obstru��o"] <- "3"
Analisados_Proximidades[Analisados_Proximidades=="Absten��o"] <- "4"
Analisados_Proximidades[Analisados_Proximidades=="Artigo 17"] <- "5"
Analisados_Proximidades[Analisados_Proximidades=="Ausente"] <- "0"

Analisados_Proximidades <- Analisados_Proximidades %>% 
  mutate_if(is.character, as.numeric)

########################################################################

Analisados_Proximidades_KM <- column_to_rownames(Analisados_Proximidades, 'deputado_nome')

fviz_nbclust(Analisados_Proximidades_KM, kmeans, method = "silhouette", k.max = 10) +
  labs(subtitle = "Silhouette method")

km_res <- kmeans(Analisados_Proximidades_KM, centers = 2)

fviz_cluster(km_res, Analisados_Proximidades_KM, ellipse.type = "norm")
